package com.rs.game.player.dialogues.impl;

import com.rs.cache.loaders.NPCDefinitions;
import com.rs.game.player.content.PlayerLook;
import com.rs.game.player.dialogues.Dialogue;

public class MakeOverMage extends Dialogue {

    int npcId;

    @Override
    public void start() {
	npcId = (Integer) parameters[0];
	int v = (Integer) parameters[1];
	if (v == 0) {
	    sendEntityDialogue(SEND_3_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "Hello there! I am know as the Makeover Mage! I have", "spent many years researching magicks that can change", "your physical appearence." }, IS_NPC, npcId, 9827);
	} else if (v == 1) {
	    stage = -2;
	    sendEntityDialogue(SEND_2_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "That is no different from what you already have. I guess I", "shouldn't charge you if I'm not changing anything." }, IS_NPC, npcId, 9827);
	} else if (v == 2) {
	    stage = 19;
	    sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "Whew! That was lucky." }, IS_NPC, npcId, 9827);
	}
    }

    @Override
    public void run(int interfaceId, int componentId) {
	if (stage == -1) {
	    stage = 0;
	    sendEntityDialogue(SEND_2_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "I call it a 'makeover'.", "Would you like to perform my magicks on you?" }, IS_NPC, npcId, 9827);
	} else if (stage == 0) {
	    stage = 1;
	    sendOptionsDialogue(DEFAULT_OPTIONS_TITLE, "Tell me more about this 'makeover'.", "Sure, do it.", "No thanks.", "Cool amulet! Can i have one?");
	} else if (stage == 1) {
	    if (componentId == 1) {
		stage = 2;
		sendPlayerDialogue(9827, "Tell me more about this 'makeover'.");
	    } else if (componentId == 2) {
		stage = 11;
		sendPlayerDialogue(9827, "Sure, do it.");
	    } else if (componentId == 3) {
		stage = 13;
		sendPlayerDialogue(9827, "No thanks. I'm happy as Saradomin made me.");
	    } else {
		stage = 14;
		sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { player.getDisplayName(), "Cool amulet! Can i have one?" }, IS_PLAYER, player.getIndex(), 9827);
	    }
	} else if (stage == 2) {
	    stage = 3;
	    sendEntityDialogue(SEND_2_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "Why, of course! Basically, and I will explain so that", "you understand it correctly," }, IS_NPC, npcId, 9827);
	} else if (stage == 3) {
	    stage = 4;
	    sendEntityDialogue(SEND_2_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "I use my secret magical technique to melt your body down", "into a puddle of its elements" }, IS_NPC, npcId, 9827);

	} else if (stage == 4) {
	    stage = 5;
	    sendEntityDialogue(SEND_2_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "When I have broken down all components of your body, I", "then rebuilt it into the form I am thinking of." }, IS_NPC, npcId, 9827);

	} else if (stage == 5) {
	    stage = 6;
	    sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "Or, you know, something vaguely close enough, anyway." }, IS_NPC, npcId, 9827);
	} else if (stage == 6) {
	    stage = 7;
	    sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { player.getDisplayName(), "Uh... that doesn't sound particualry safe to me." }, IS_PLAYER, player.getIndex(), 9827);
	} else if (stage == 7) {
	    stage = 8;
	    sendEntityDialogue(SEND_2_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "It's as safe as houses. Why, I have only had thirty-six", "major accidents this month!" }, IS_NPC, npcId, 9827);

	} else if (stage == 8) {
	    stage = 9;
	    sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "So what do you say? Feel like a change?" }, IS_NPC, npcId, 9827);
	} else if (stage == 9) {
	    stage = 10;
	    sendOptionsDialogue(DEFAULT_OPTIONS_TITLE, "Sure do it.", "No thanks.");
	} else if (stage == 10) {
	    if (componentId == 1) {
		stage = 11;
		sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { player.getDisplayName(), "Sure, do it." }, IS_PLAYER, player.getIndex(), 9827);
	    } else {
		stage = 13;
		sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { player.getDisplayName(), "No thanks. I'm happy as Saradomin made me." }, IS_PLAYER, player.getIndex(), 9827);
	    }
	} else if (stage == 11) {
	    stage = 12;
	    sendEntityDialogue(SEND_3_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "You, of course, agree that if by some accident you are", "turned into a frog you have no rights for compensation or", "refund." }, IS_NPC, npcId, 9827);
	} else if (stage == 12) {
	    PlayerLook.openMageMakeOver(player);
	    end();
	} else if (stage == 13) {
	    stage = -2;
	    sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "Ehhh...suit yourself." }, IS_NPC, npcId, 9827);
	} else if (stage == 14) {
	    stage = 15;
	    sendEntityDialogue(SEND_3_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "No problem, but please remember that the amulet I will", "sell you is only a copy of my own. It contains no magical", "powers and, as such, it will only cost you 100 coins." }, IS_NPC, npcId, 9827);
	} else if (stage == 15) {
	    stage = 16;
	    sendOptionsDialogue(DEFAULT_OPTIONS_TITLE, "Sure, here you go.", "No way! That's too expensive.");
	} else if (stage == 16) {
	    if (componentId == 1) {
		if (!player.getInventory().containsItem(995, 100))
		    end();
		else {
		    stage = 17;
		    sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { player.getDisplayName(), "Sure, here you go." }, IS_PLAYER, player.getIndex(), 9827);
		}
	    } else {
		stage = -2;
		sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { player.getDisplayName(), "No way! That's too expensive." }, IS_PLAYER, player.getIndex(), 9827);
	    }
	} else if (stage == 17) {
	    stage = 18;
	    sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { "", "You receive an amulet in exchange for 100 coins." }, IS_ITEM, 7803, -1);
	    player.getInventory().deleteItem(995, 100);
	    player.getInventory().addItem(7803, 1);
	} else if (stage == 18) {
	    stage = 0;
	    sendEntityDialogue(SEND_2_TEXT_CHAT, new String[] { NPCDefinitions.getNPCDefinitions(npcId).name, "I can alter you physical form if you wish. Would you like", " me to perform my magicks on you?" }, IS_NPC, npcId, 9827);
	} else if (stage == 19) {
	    stage = 20;
	    sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { player.getDisplayName(), "What was?" }, IS_PLAYER, player.getIndex(), 9827);
	} else if (stage == 20) {
	    stage = 21;
	    sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { player.getDisplayName(), "Nothing! It's all fine you seem alive anyway." }, IS_NPC, npcId, 9827);
	} else if (stage == 21) {
	    stage = -2;
	    sendEntityDialogue(SEND_1_TEXT_CHAT, new String[] { player.getDisplayName(), "	Uh, thanks, I guess." }, IS_PLAYER, player.getIndex(), 9827);
	} else
	    end();

    }

    @Override
    public void finish() {
	// TODO Auto-generated method stub

    }

}
